Чтение / запись файлов MS Word на Python
-
06-07-2019 - |
Вопрос
Можно ли читать и записывать файлы Word (2003 и 2007) на Python без использования COM-объекта?
Я знаю, что могу:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
но Word будет читать его как файл HTML, а не как собственный файл .doc.
Решение
Я бы заглянул в IronPython , который по сути имеет доступ к API Windows / Office, поскольку он работает в среде выполнения .NET . р>
Другие советы
Смотрите python-docx , его официальная документация доступна здесь . Р>
Это сработало очень хорошо для меня.
Если вам только что читать, это самое простое использовать команду linux soffice, чтобы преобразовать ее в текст, а затем загрузить текст в python:
doc (в данном случае Word 2003) и docx (Word 2007) - это разные форматы, где последний обычно представляет собой просто архив XML и файлов изображений. Я мог бы представить, что очень возможно записывать в файлы docx, манипулируя содержимым этих файлов xml. Однако я не вижу, как вы могли бы читать и записывать в файл документа без какого-либо типа интерфейса компонента COM. Р>